/**
 * 软件组件字典转换工具类
 */

/**
 * 根据ID获取对应的名称
 * @param list 字典列表
 * @param id 要查找的ID
 * @param nameField 名称字段，默认为'name'
 * @param idField ID字段，默认为'id'
 * @returns 对应的名称，如果未找到则返回空字符串
 */
export const getNameById = (
  list: any[],
  id: number,
  nameField: string = 'name',
  idField: string = 'id'
): string => {
  if (!list || list.length === 0 || id === undefined || id === null) {
    return ''
  }
  const item = list.find((item) => item[idField] === id)
  return item ? item[nameField] : ''
}

/**
 * 将字典列表转换为下拉选项数组
 * @param list 字典列表
 * @param labelField 标签字段，默认为'name'
 * @param valueField 值字段，默认为'id'
 * @returns 下拉选项数组
 */
export const convertToOptions = (
  list: any[],
  labelField: string = 'name',
  valueField: string = 'id'
): any[] => {
  if (!list || list.length === 0) {
    return []
  }
  return list.map((item) => ({
    label: item[labelField],
    value: item[valueField]
  }))
} 